package com.lq.JDBC.Dao;

import java.util.ArrayList;

public interface BaseDao<T> {
    /**
     * 定义统一的插入方法
     * @param t 实例
     * @return rows 受影响行数
     */
    int insert(T t);

    /**
     * 定义统一的删除方法
     * @param fieldName 删除的字段名
     * @param value 值
     * @param target 目标类型
     * @return
     */
    int delete(String fieldName, String value, Class target);

    /**
     * 根据id查询结果
     * @param name
     * @param target
     * @return
     */
    T queryByName(String name, Class target);

    /**
     * 查询所有结果
     * @param target
     * @return
     */
    ArrayList<T> queryAll(Class target);

    /**
     * 通用更新操作
     * @param t
     * @return
     */
    int update(T t);
}
